package com.yunji.news.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yunji.news.entity.EnrollmentApplication;

/**
 * 报名申请服务接口
 *
 * @author yunji
 * @since 2024-11-26
 */
public interface EnrollmentApplicationService extends IService<EnrollmentApplication> {

    /**
     * 分页查询报名申请
     */
    IPage<EnrollmentApplication> getApplicationPage(Integer page, Integer size, 
                                                   Long schoolId, Long majorId, 
                                                   String status, String keyword);

    /**
     * 提交报名申请
     */
    boolean submitApplication(EnrollmentApplication application);

    /**
     * 更新申请状态
     */
    boolean updateApplicationStatus(Long id, String status, String remark);

    /**
     * 更新支付状态
     */
    boolean updatePaymentStatus(Long id, String paymentStatus);

    /**
     * 更新考试成绩
     */
    boolean updateExamScore(Long id, Integer examScore);

    /**
     * 批量更新入围状态
     */
    boolean batchUpdateFinalStatus(Long[] ids, String finalStatus);
}